package cn.edu.wynu.d6_abstract_template;
/*
模板方法设计模式解决了什么问题?  解决方法中存在重复代码的问题。
模板方法设计模式的写法：
1、定义一个抽象类。
2、在里面定义2个方法
    一个是模板方法:把相同代码放里面去。
    一个是抽象方法:具体实现交给子类完成。
*/

/*
多学一招:建议使用final关键字修饰模板方法，为什么?
模板方法是给对象直接使用的，不能被子类重写。
一旦子类重写了模板方法，模板方法就失效了
*/

public class Test {
    public static void main(String[] args) {
        // 掌握抽象类的应用场景之一：经常用来设计模板方法设计模式
        /*
        场景：学生和老师都要写一篇作文：我的爸爸
        第一段是一样的
        正文部分自由发挥
        最后一段也是一样的
        */

        Teacher t = new Teacher();
        t.write();

        Student s = new Student();
        s.write();
    }
}
